package com.xu.cloud.common.constant;

import java.io.File;

/**
 * 系统常量
 *
 * @author xuguan
 * @since 2025/2/12
 * @see cn.hutool.system.SystemPropsKeys
 */
public interface SystemConstant extends Constant {

    /**
     * 系统行分隔符, Windows系统为\r\n, Unix系统为\n
     */
    String SYSTEM_LINE_SEP = System.lineSeparator();

    /**
     * 系统文件分隔符, Windows系统为\ , Unix系统为/
     */
    String SYSTEM_FILE_SEP = File.separator;

    /**
     * 系统文件路径分隔符, Windows系统为; , Unix系统为:
     */
    String SYSTEM_FILE_PATH_SEP = File.pathSeparator;

    /**
     * Java安装目录
     */
    String JAVA_HOME = System.getProperty("java.home");

    /**
     * Java版本
     */
    String JAVA_VERSION = System.getProperty("java.version");

    /**
     * 用户的账户名称
     */
    String USER_NAME = System.getProperty("user.name");

    /**
     * 用户的主目录
     */
    String USER_HOME = System.getProperty("user.home");

    /**
     * 用户的当前工作目录
     */
    String USER_DIR = System.getProperty("user.dir");

    /**
     * 当前运行环境
     */
    Runtime CURRENT_RUNTIME = Runtime.getRuntime();

    /**
     * 系统可用处理器(cpu核心)数
     */
    int SYSTEM_THREAD_COUNT = Runtime.getRuntime().availableProcessors();

}
